<template>
  <div class="icons">    <swiper ref="mySwiper" :options="swiperOptions">      <swiper-slide v-for="(page,index) in pages" :key="index">        <div class="icon" v-for="item in page" :key="item.id">          <div class="icon-img">            <img :src="item.imgUrl" alt="">          </div>          <p class="icon-desc">{{item.desc}}</p>        </div>      </swiper-slide>      <div class="swiper-pagination" slot="pagination"></div>    </swiper>
  </div>
</template>

<script>
export default {
  name: 'HomeIcons',
  props: {
    iconList: Array
  },
  data () {
    return {
      swiperOptions: {
        // pagination: '.swiper-pagination'
      }
    }
  },
  computed: {
    pages () {
      const pages = []
      this.iconList.forEach((item, index) => {
        const page = Math.floor(index / 8)
        if (!pages[page]) {
          pages[page] = []
        }
        pages[page].push(item)
      })
      return pages
    }
  }
}
</script>

<style lang="stylus" scoped>
  @import '~styles/varibles.styl'
  .icons >>> .swiper-container
    height 0
    padding-bottom: 50%
  .icons
    margin-top .1rem
  .icon
    overflow hidden
    float: left;
    width: 25%
    height: 0;
    padding-bottom 25%
    position: relative;
  .icon-img    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: .44rem;    box-sizing border-box    padding .1rem    img      height: 100%;      display block      margin 0 auto  .icon-desc    position: absolute;    left: 0;    right: 0;    bottom: 0;    height: .44rem;    line-height: .44rem;    font-size :.32rem    color: $darkTextColor;    text-align: center;
</style>
